/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

package org.apli.haiam.ejb.entidades;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import javax.persistence.Basic;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;

/**
 *
 * @author Informática
 */
@Entity
@Table(name = "far_receta_detalle")
@NamedQueries({
    @NamedQuery(name = "FarRecetaDetalle.findAll", query = "SELECT f FROM FarRecetaDetalle f")})
public class FarRecetaDetalle implements Serializable {
    private static final long serialVersionUID = 1L;
    @Id
    @Basic(optional = false)
    @NotNull
    @Column(name = "frd_id")
    private Integer frdId;
    @Size(max = 2147483647)
    @Column(name = "frd_pauta")
    private String frdPauta;
    @Size(max = 2147483647)
    @Column(name = "frd_dosis")
    private String frdDosis;
    @Size(max = 2147483647)
    @Column(name = "frd_frecuencia")
    private String frdFrecuencia;
    @Size(max = 2147483647)
    @Column(name = "frd_duracion")
    private String frdDuracion;
    @Size(max = 2147483647)
    @Column(name = "frd_indicaciones")
    private String frdIndicaciones;
    @Column(name = "frd_tipo_medicamento")
    private Integer frdTipoMedicamento;
    @Column(name = "frd_hora_manana")
    @Temporal(TemporalType.TIME)
    private Date frdHoraManana;
    @Column(name = "frd_hora_medio_dia")
    @Temporal(TemporalType.TIME)
    private Date frdHoraMedioDia;
    @Column(name = "frd_hora_tarde")
    @Temporal(TemporalType.TIME)
    private Date frdHoraTarde;
    @Column(name = "frd_hora_noche")
    @Temporal(TemporalType.TIME)
    private Date frdHoraNoche;
    @Size(max = 2147483647)
    @Column(name = "frd_advertencia")
    private String frdAdvertencia;
    // @Max(value=?)  @Min(value=?)//if you know range of your decimal fields consider using these annotations to enforce field validation
    @Basic(optional = false)
    @NotNull
    @Column(name = "frd_cantidad")
    private BigDecimal frdCantidad;
    @Basic(optional = false)
    @NotNull
    @Column(name = "frd_estado")
    private int frdEstado;
    @Basic(optional = false)
    @NotNull
    @Column(name = "frd_total")
    private BigDecimal frdTotal;
    @Column(name = "frt_valor_unitario")
    private BigDecimal frtValorUnitario;
    @JoinColumn(name = "fsk_id", referencedColumnName = "fsk_id")
    @ManyToOne(fetch = FetchType.LAZY)
    private FarStock farStock;
    @JoinColumn(name = "fre_id", referencedColumnName = "fre_id")
    @ManyToOne(fetch = FetchType.LAZY)
    private FarReceta farReceta;
    @JoinColumn(name = "ffa_id", referencedColumnName = "ffa_id")
    @ManyToOne(fetch = FetchType.LAZY)
    private FarFormaFarmaceutica farFormaFarmaceutica;

    public FarRecetaDetalle() {
    }

    public FarRecetaDetalle(Integer frdId) {
        this.frdId = frdId;
    }

    public FarRecetaDetalle(Integer frdId, BigDecimal frdCantidad, int frdEstado, BigDecimal frdTotal) {
        this.frdId = frdId;
        this.frdCantidad = frdCantidad;
        this.frdEstado = frdEstado;
        this.frdTotal = frdTotal;
    }

    public Integer getFrdId() {
        return frdId;
    }

    public void setFrdId(Integer frdId) {
        this.frdId = frdId;
    }

    public String getFrdPauta() {
        return frdPauta;
    }

    public void setFrdPauta(String frdPauta) {
        this.frdPauta = frdPauta;
    }

    public String getFrdDosis() {
        return frdDosis;
    }

    public void setFrdDosis(String frdDosis) {
        this.frdDosis = frdDosis;
    }

    public String getFrdFrecuencia() {
        return frdFrecuencia;
    }

    public void setFrdFrecuencia(String frdFrecuencia) {
        this.frdFrecuencia = frdFrecuencia;
    }

    public String getFrdDuracion() {
        return frdDuracion;
    }

    public void setFrdDuracion(String frdDuracion) {
        this.frdDuracion = frdDuracion;
    }

    public String getFrdIndicaciones() {
        return frdIndicaciones;
    }

    public void setFrdIndicaciones(String frdIndicaciones) {
        this.frdIndicaciones = frdIndicaciones;
    }

    public Integer getFrdTipoMedicamento() {
        return frdTipoMedicamento;
    }

    public void setFrdTipoMedicamento(Integer frdTipoMedicamento) {
        this.frdTipoMedicamento = frdTipoMedicamento;
    }

    public Date getFrdHoraManana() {
        return frdHoraManana;
    }

    public void setFrdHoraManana(Date frdHoraManana) {
        this.frdHoraManana = frdHoraManana;
    }

    public Date getFrdHoraMedioDia() {
        return frdHoraMedioDia;
    }

    public void setFrdHoraMedioDia(Date frdHoraMedioDia) {
        this.frdHoraMedioDia = frdHoraMedioDia;
    }

    public Date getFrdHoraTarde() {
        return frdHoraTarde;
    }

    public void setFrdHoraTarde(Date frdHoraTarde) {
        this.frdHoraTarde = frdHoraTarde;
    }

    public Date getFrdHoraNoche() {
        return frdHoraNoche;
    }

    public void setFrdHoraNoche(Date frdHoraNoche) {
        this.frdHoraNoche = frdHoraNoche;
    }

    public String getFrdAdvertencia() {
        return frdAdvertencia;
    }

    public void setFrdAdvertencia(String frdAdvertencia) {
        this.frdAdvertencia = frdAdvertencia;
    }

    public BigDecimal getFrdCantidad() {
        return frdCantidad;
    }

    public void setFrdCantidad(BigDecimal frdCantidad) {
        this.frdCantidad = frdCantidad;
    }

    public int getFrdEstado() {
        return frdEstado;
    }

    public void setFrdEstado(int frdEstado) {
        this.frdEstado = frdEstado;
    }

    public BigDecimal getFrdTotal() {
        return frdTotal;
    }

    public void setFrdTotal(BigDecimal frdTotal) {
        this.frdTotal = frdTotal;
    }

    public BigDecimal getFrtValorUnitario() {
        return frtValorUnitario;
    }

    public void setFrtValorUnitario(BigDecimal frtValorUnitario) {
        this.frtValorUnitario = frtValorUnitario;
    }

    public FarStock getFarStock() {
        return farStock;
    }

    public void setFarStock(FarStock farStock) {
        this.farStock = farStock;
    }

    public FarReceta getFarReceta() {
        return farReceta;
    }

    public void setFarReceta(FarReceta farReceta) {
        this.farReceta = farReceta;
    }

    public FarFormaFarmaceutica getFarFormaFarmaceutica() {
        return farFormaFarmaceutica;
    }

    public void setFarFormaFarmaceutica(FarFormaFarmaceutica farFormaFarmaceutica) {
        this.farFormaFarmaceutica = farFormaFarmaceutica;
    }

    @Override
    public int hashCode() {
        int hash = 0;
        hash += (frdId != null ? frdId.hashCode() : 0);
        return hash;
    }

    @Override
    public boolean equals(Object object) {
        // TODO: Warning - this method won't work in the case the id fields are not set
        if (!(object instanceof FarRecetaDetalle)) {
            return false;
        }
        FarRecetaDetalle other = (FarRecetaDetalle) object;
        if ((this.frdId == null && other.frdId != null) || (this.frdId != null && !this.frdId.equals(other.frdId))) {
            return false;
        }
        return true;
    }

    @Override
    public String toString() {
        return "org.apli.haiam.ejb.entidades.FarRecetaDetalle[ frdId=" + frdId + " ]";
    }
    
}
